package com.haizhi.crm.biz.service;

import com.haizhi.crm.biz.model.CustomerEventQo;
import com.haizhi.crm.biz.model.SearchEventReqQo;
import com.haizhi.crm.biz.model.VisitRecordResultVo;
import com.haizhi.crm.common.constant.Schema;
import com.haizhi.crm.common.model.Response;

import java.util.List;

/**
 * Created by yangyijun on 2018/6/3.
 */
public interface EventService {


    Object getHotEvent(Schema schema) throws Exception;

    Response searchByCompany(String keyword, Schema schema, int pageNo, int pageSize);

    List<VisitRecordResultVo> getVisitRecord(Schema type, String id, Integer pageNo, Integer pageSize);


    List getEventOutterRecentBrowse();

    List getEventInnerRecentBrowse();

    /**
     * 查询事件基本信息
     *
     * @param schema
     * @param enventKey
     * @return
     */
    Object getBasicInfo(Schema schema, String enventKey) throws Exception;

    Response findAssociatedCompanys(String companyKeys);

    Integer getVisitRecordCount(Schema type, String id);

    Response findEventsByName(String name, String eventSchema);


    Response findInnerEvents(CustomerEventQo customerEventQo);

    Response findOuterEvents(CustomerEventQo customerEventQo);

    Response searchInnerDynamics(SearchEventReqQo searchEventReqQo);

    Response searchOuterEvents(SearchEventReqQo searchEventReqQo);

    Response findCustomers(String queryType);

    Response findCreators();
}